home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / System / CRESC / Harmony / symbol-chordize-shift < prev   
Lisp/Scheme  |  1996-12-31  |  1KB  |  19 lines

  1. symbol-chordize-shift w x y symbol-pattern
  2.                                                         
  3. This function allows a symbol-pattern to create its own chordal material. The added or ornamented symbols are derived from the symbol-pattern itself.
  4.  
  5. (setq mel '(a b b d e f f = h l d d)) 
  6. (setq mela (symbol-chordize-shift -1 nil nil mel))
  7. --> (ab b bd de ef f f h hl ld d d)
  8.  
  9. (setq melb (symbol-chordize-shift -1 -2 50 mel))
  10. --> (a-c b b-b da ea f f b hd l-b d d)
  11.  
  12. In the processing of the symbol-pattern a copy is made in which the position of the symbol list can be shifted backwards or forwards in relation to the original symbol- pattern. The number of shift positions backwards or forwards is controlled by the value - w - otherwise its shift factor is subject to a random operation producing a + or - value less or within one value of the length of the copy.
  13.  
  14. In addition, any repeating symbols are deleted from the copy. This produces a clearer, more subtly ornamented texture.
  15.  
  16. The transpose value - x - is optional; it is diatonic in tonalities other than chromatic. 
  17.  
  18. The optional compression value - y - is intended for symbol-patterns where the symbol range may be too extensive for particular ornamentation. It also serves as a way of reducing the number of different symbols available in the copy to mix into the resultant pattern. See symbol-compress for further info on this process.
  19.